package com.tfjybj.itoo.teach.provider.service;/*
  @auther 井朝
  @DESCRIPTION 选课
  @since 1.0.8 2018/11/15
*/


import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.tfjybj.itoo.teach.model.AddCourseInfo;
import com.tfjybj.itoo.teach.model.AddCourseModel;
import com.tfjybj.itoo.teach.model.ChooseCourseModel;

import java.io.IOException;
import java.text.ParseException;
import java.util.List;

public interface ChooseCourseService extends BaseServicePlus<ChooseCourseModel> {

    /**
     * 查询待选课程信息  井朝 2018年11月23日10:40:25
     *
     * @param studentId  学生id
     * @return 未选课信息
     * throws IOException,ParseException 异常
     */
    List<ChooseCourseModel> queryUnSelectedCourse(String studentId) throws IOException, ParseException;

    /**
     * 选课操作：往数据库insert  井朝  2018年11月23日10:40:31
     *
     * @param addCourseInfo 课程表实体
     * @return 选课是否成功
     * throws IOException,ParseException 异常
     */
    List<String> addCourse(AddCourseInfo addCourseInfo) throws IOException, ParseException;

    /**
     * 查询学生已选课程（包括专选,公选） 井朝 2018年11月23日10:40:02
     *
     * @param studentId  学生id
     * @return 学生已选课信息
     */
    List<ChooseCourseModel> selectStudentSelectedCourse(String studentId);


    /**
     * 退课操作：往数据库delete  井朝  2018年11月23日10:40:31
     *
     * @param model 课程表实体
     * @return 选课是否成功
     * throws IOException,ParseException 异常
     */
    boolean deleteCourse(AddCourseModel model) throws IOException, ParseException;
}